Smart training system

ABSTRACT

Smart weight training systems and methods are described. An example method includes receiving sensor data from a sensor disposed in a weight lifting device, and determining, by a processing device, one or more exercise characteristics based on the sensor data. The one or more exercise characteristics can include a power exerted by a user of the weight lifting device. The exercise characteristics can be displayed on a user interface display or recorded to a storage device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 63/144,764, filed on Feb. 2, 2021, which is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

Aspects and implementations of the present disclosure relate to a smarttraining system and, in particular, to a smart weight training systemwith sensors.

BACKGROUND

Physical training with weight resistance is a very common and effectiveway to build muscle, strength, and endurance. The effectiveness of thetraining is based on volume lifted and force applied over a period oftime. Until now, this was all calculated manually based on weight liftedand counting reps. From this the total volume lifted can be calculatedand used to design programming for muscle growth, strength, endurance,and explosiveness.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments and implementations of the present disclosure will beunderstood more fully from the detailed description given below and fromthe accompanying drawings of various aspects and implementations of thedisclosure, which, however, should not be taken to limit the disclosureto the specific embodiments or implementations, but are for explanationand understanding only.

FIG. 1 is a block diagram of a smart weight training system inaccordance with some embodiments of the present disclosure.

FIG. 2 is process flow diagram of a method for operating a weighttraining system in accordance with some embodiments of the presentdisclosure.

FIG. 3 is a block diagram illustrating an example computer system, inaccordance with some embodiments of the present disclosure.

FIG. 4 is an example of a cable machine that may be included in thesmart training system in accordance with some embodiments of the presentdisclosure.

FIG. 5 is an example of a barbell that may be included in the smarttraining system in accordance with some embodiments of the presentdisclosure.

FIG. 6 is an example of a dumbbell that may be included in the smarttraining system in accordance with some embodiments of the presentdisclosure.

FIG. 7 is an example of a kettlebell that may be included in the smarttraining system in accordance with some embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Aspects and implementations of the present disclosure are directed to asmart training system and, in particular, to a smart weight trainingsystem with sensors. Physical training with weight resistance is a verycommon and effective way to build muscle, strength, and endurance. Theeffectiveness of the training is based on volume lifted and forceapplied over a period of time. Such data may be calculated manuallybased on manually tracking the weight lifted, the number exercise setsperformed, and the number of repetitions per set. From this the totalvolume lifted can be calculated and used to track progress and designweight lifting routines for developing muscle growth, strength,endurance, and explosiveness.

Aspects of the disclosure provide for an improved training system thatstreamlines the tracking of performance metrics and expands thepossibilities for planning and creating successful weight liftingroutines. A system in accordance with embodiments of the presentdisclosure includes a weight lifting device equipped with one or moresensors configured to capture various types of sensor data, such asforce data and/or motion data. For example, the sensors may include aweight sensor or load cell placed in a location connecting or betweenthe lifting/gripping area or handle of equipment and where the weightrests or may be adjusted. The sensors may also include an accelerationsensor (accelerometer) centrally placed or multiple sensors placed onouter extremities of the equipment to measure the acceleration or speedat which the equipment is being lifted. The sensors may also include agyroscope for measuring angular velocity and rotation.

Various exercise characteristics can be computed based on the sensordata, including the number of repetitions performed, the weight lifted,the force applied by the user, the power exerted by the user, andothers. For example, a number of repletion's performed may be calculatedby reoccurring changes in acceleration from the accelerations sensorsand/or changes in rotation from the gyroscope. Additionally, a powercurve data with peak displayed could be computed using the force appliedto the weight training device as determined by weight and accelerationmeasurements from the sensors.

In some embodiments, the sensor data may be transmitted wirelessly to aremote computing device such as a smart phone for example, whichcomputes the exercise characteristics. In some embodiments, the weightlifting device may also include processing resources that may beconfigured to compute one or more exercise characteristics, which maythen be transmitted to the remote computing device.

The techniques disclosed herein may be used in any type of fitnessequipment, including free weights such as barbells, dumbbells, andkettlebells. The techniques may also be used in exercise machines suchas cable machines. The automatic data collection eliminates the need formanual data entry of weight and repetitions during the lifting cycle,and the data collected by the sensors may be used to determine a widevariety of exercise characteristics that are not traditionallyavailable, especially when using free weights. For example, the forceexerted by the user during an exercise may be determined based on theweight and the acceleration of the weight lifting device, and the powerexerted by the user during an exercise may be determined based on theforce as a function of time and distance. This data can be used toinform the user if they are on track with targeted volume and poweroutputs to achieve set goals.

The smart training system may include components to measure parameterssuch as weight, speed of movement, and repetitions. This information canbe transmitted via a short range communication device such as Bluetoothto an application running on a remote computing device such as a smartphone. The application can record for each set, for example, the numberof repetitions, weight lifted, and power exerted (e.g., in watts). Theapplication may also automatically record this data into a presetprogram for each set.

Embodiments of the present disclosure may provide advantages includingthat a user may not have to stop in between sets to manually documenttheir weight and repetitions since it will be determined and recordedautomatically, i.e., without human intervention. Additionally, newexercise measurements can be realized with the disclosed system, such aspower exerted by the user on a free weight.

FIG. 1 is a block diagram of a smart weight training system inaccordance with embodiments of the present disclosure. While variousdevices, interfaces, and logic with particular functionality are shown,it should be understood that the weight training system 100 can includeany number of devices, components, interfaces, and logic forfacilitating the functions described herein.

The weight training system 100 can incudes a computing device 102configured to communicate with one or more weight lifting devices 104.The computing device 102 may be any data processing device, such as adesktop computer, a laptop computer, a hand-held device such as a smartphone or smart watch, and others. The computing device 102 includes aprocessing device 106 configured to execute computer-readableinstructions for performing the routines and actions described herein.The processing device 106 may be a system on a chip, a processor core, acentral processing unit (CPU), microprocessor, and Application SpecificIntegrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), aProgrammable Logic Device (PLD), and others.

The computing device 102 also includes a memory 108 which is configuredas a working memory for storing programming instructions and data usedby the processing device 106. The memory 108 may be volatile ornon-volatile memory such as random access memory (RAM), dynamic randomaccess memory (DRAM), static random access memory (SRAM), flash memory,or any other type of memory used by a computer system.

The computing device 102 also includes a storage device 110 may be maybe local or remote persistent storage device such as a hard-disk drive,flash storage, a solid state drive, or any other type of persistent datastorage. The storage device 110 may be used to store long term data andto store computer programming instructions that direct the actions ofthe processing device 106. Computer programming may be loaded from thestorage device 110 into the memory 108 for execution by the processingdevice 106. As shown in FIG. 1, the computer programming stored to thestorage device 110 is represented as one more programming modules.However, it will be appreciated that this is for convenience indescribing features of the programming and that the computer programmingmay be organized with any suitable structure and any suitable divisionor combination of programming tasks between the modules.

The computing device 102 may also include a display 112 for displayinginformation and graphics to a user of the device. In some embodiments,the display 112 may be a touch sensitive display that is capable ofreceiving input instructions from the user through a graphical userinterface, for example.

The computing device 102 may also include a communication interface 114for communicating with other electronic devices, including the weightlifting devices 104. Each weight lifting device 104 may include acomplimentary communication interface 114 for communicating with thecomputing device 102. The communication interface 114 may be a wired orwireless interface, such as WiFi, Bluetooth, Zigbee, Universal SerialBus (USB), Wireless USB, and others.

The weight lifting devices 104 may be type of weight lifting device,including free weights such as barbells, dumbbells, kettlebells,medicine balls, and others. The weight lifting devices 104 may also be acomponent of an exercise machine such as a cable-based exercise machine.

Each of the weight lifting devices 104 includes one or more sensors 116for sensing data related to the use of the weight lifting device 104 bythe user. For example, one more of the sensors 116 may be configured tosense motion such as an accelerometer or gyroscope. Additionally, one ormore of the sensors 116 may be configured to sense a force applied tothe weight lifting device, such as a piezoelectric load cell or a straingauge load cell. Example embodiments of different types of weightlifting devices and sensor arrangements are described further inrelation to FIGS. 4-7.

In some implementations, some weight lifting devices 104 may includeadditional electronics such as a processing device 118 and a memory 120.The processing device 118 may be a microprocessor or other type ofprocessing device for computing exercise characteristics from the rawsensor data. The memory 120 may be a volatile or non-volatile memorysuch as a flash memory, Read-Only Memory (ROM), Electrically-ErasableProgrammable Read-Only Memory (EEPROM), and others. The memory may beused for storing data computed by the processing device 118 and also forstoring information that may be set by the manufacturer such as a uniqueserial number of the device, a device type indicator indicating the typeof weight lifting device, or a weight value indicator indicating theweight of the device. Information such as the unique serial number, thedevice type indicator, and the weight value indicator may becommunicated to the computing device for further processing.

Various types of data may be computed using the sensor data receivedfrom the sensors 116. The information computed from the raw sensor datamay be referred to herein as exercise characteristics. The computationsdescribed herein may be performed by the computing device 102 or, insome cases, by the processing device 118 of the weight lifting device104. For example, in some embodiments, the weight lifting device 104collects sensor data and transmits the raw sensor data to the computingdevice 102 for further processing. However, in some embodiments, theweight lifting device 104 may itself compute exercise characteristicsfrom the sensor data and transmit the exercise characteristics to thecomputing device 102 with or without the raw sensor data. On thecomputing device 102, the exercise characteristics may be computed bythe data generator 122 using sensor data and other information receivedfrom the weight lifting device 104.

One exercise characteristic that may be computed from the sensor data isthe weight being lifted. For example, the sensors 116 may include a loadcell sensor that measures the force being applied to the weight liftingdevice by the user. The weight being lifted would then be determinedbased on the force applied while the device is not in motion or whilethe motion is low, i.e., below a specified threshold. The motion may bedetermined based on data received from a motion sensor such as anaccelerometer. In some embodiments, such as when the weight being liftedis non-adjustable, the weight value of the weight lifting device may beretrieved from the memory 120 and reported to the computing device 102rather than being computed.

Another exercise characteristic that may be computed from the sensordata is the number of repetitions performed in a set of exercises. Insome embodiments, the start and stop of an exercise can be indicated bythe user through a user input device of the computing device 102 or theweight lifting device 104. Additionally, the start and stop of anexercise may also be detected automatically by the computing device 102or the weight lifting device 104 based on the sensor data rather thanuser input. For example, the motion of the weight lifting device 104 orthe force applied to the weight lifting device 104 may be analyzed toidentify a pattern of repetitive motions or repetitive force contoursindicative of an exercise. Each repetition may exhibit as a cycle in themotion or force data pattern which indicate changes in the direction ofmotion or changes in the degree of force. The number of repetitions maybe determined based on the number of cycles detected between thebeginning and the ending of the exercise. Additional information such asthe time duration of the set or of individual repetitions may also bemeasured and stored.

Another exercise characteristic that may be computed from the sensordata is the force applied by the user to the weight lifting device. Forexample, in some embodiments, the sensors 116 may not include a forcesensor (e.g., load cell sensor), and the force may be computed based ona known weight of the weight lifting device and the acceleration of theweight lifting device as determined by sensor data provided by anaccelerometer, for example.

The force applied may be stored as a force curve describing the force asa function of time and may be used for computing additional exercisecharacteristics, such as the peak force per repetition or per set or thepower exerted by the user. The power exerted by the user may bedetermined based the force applied to the weight lifting device, thedistance over which the force was applied, and the amount of time takento move the weight lifting device. The power characteristics may bedetermined for each repetition or for an entire set. For example, thepower characteristic may represent the power exerted for eachrepetition, an average power per repetition of a set, peak power perset, cumulative power per set, and others.

Another exercise characteristic that may be computed from the sensordata is the path of motion of the weight lifting device. The path ofmotion may be determined from accelerometer or gyroscope sensor data,for example. The path of motion may be analyzed to determine theconsistency of motion between repetitions and to analyze the user's formin performing the exercise. The path of the motion may also be used inthe computation of the power exerted by the user. Additional exercisecharacteristics may become apparent in light of the present disclosure.

The sensor data and the exercise characteristics may be stored to aworkout history 124, which keeps a running log of exercise relatedinformation. Data from the workout history 124 may be displayed to user,which allows users to track their progress manually.

Data stored to the workout history 124 may also be used by a workoutdesigner 126 to generate suggested workout routines. For example, theworkout designer 126 may design a workout that includes a specifiedweight, exercise type, number of repetitions, and number of sets. Theworkout designer 126 can use the workout history 124 to designappropriate workouts for the user based on past performance andprogress. Additionally, the workout designer 126 may also providesuggestions regarding the user's form during an exercise based onanalysis of motion data. For example, the motion data may indicate thatthe user is not forcing the weight through a full range of motionappropriate for the type of exercise, in which case the exercisedesigner may alert the user of this and/or reduce the amount of weightto be lifted in a suggested exercise routine.

FIG. 2 is process flow diagram of a method for operating a weighttraining system in accordance with embodiments of the presentdisclosure. The specific function blocks shown in FIG. 2 are shown asexamples of the present techniques, and it will be appreciated thatembodiments of the present techniques may be performed differently fromwhat is shown in FIG. 2. For example, the blocks in FIG. 2 may beperformed in an order different than presented, and some of the blocksin FIG. 2 may not be performed. The method 200 of FIG. 2 may beperformed by the computing system 102, the weight lifting devices 104,or a combination thereof. The method may begin at block 202.

At block 202, sensor data is received from a sensor disposed in a weightlifting device. The sensor may be a load cell configured to generateforce data describing a force exerted by a user on the weight liftingdevice or a component of the weight lifting device. The sensor may alsobe an accelerometer or gyroscope configured to generate motion datadescribing a motion of the weight lifting device, such a speed oracceleration of the motion, a direction of the motion, and path of themotion. Any number of sensors may be disposed in the weight liftingdevice, each of which may sense different types of data. The sensor datamay be received at the computing device from the weight training deviceover a communication channel. In some embodiments, such as embodimentswherein the weight lifting device is a free weight, the sensor data maybe received at the computing device from the weight lifting devicewirelessly. The sensor data may also be received at a processing deviceof the weight training device itself

At block 204, one or more exercise characteristics are determined basedon the sensor data. The exercise characteristics may be any of theexercise characteristics described above, including a power exerted by auser of the weight lifting device, a weight of the weight liftingdevice, a number of repetitions performed, and others. Additionally,exercise characteristics may be computed by the computing device or by aprocessing device of the weight lifting device. Exercise characteristicscomputed by a processing device of the weight lifting device may be sentto the computing device for storage and/or further processing. Otherinformation may also be sent from the weight lifting device to thecomputing device, such as a unique serial number of the weight liftingdevice, a type of the weight lifting device, and/or a predeterminedweight of the weight lifting device. Any of these values may furtherused in the computation of exercise characteristics. For example, thepredetermined weight value of the weight lifting device, in combinationwith sensed motion data, can be used to compute the force and/or powerexerted by the user.

At block 206, the exercise characteristics are recorded in a storagedevice, forming a record of the user's workout history.

At block 208, some or all of the sensor data or exercise characteristicsmay be displayed on a user interface display. For example, the user mayrequest a subset of the sensor data or exercise characteristics to bedisplayed, and the computing device may present the requested data inform of charts, graphs, tables or any other suitable format.

At block 210, one more suggested exercises or workout routines may bepresented to the user. Exercise or workout routine suggestions may begenerated by the workout designer 126 of FIG. 1 based on data stored tothe workout history.

FIG. 3 illustrates a diagrammatic representation of a machine in theexample form of a computer system 300 within which a set ofinstructions, for causing the machine to perform any one or more of themethodologies discussed herein, may be executed. In alternativeembodiments, the machine may be connected (e.g., networked) to othermachines in a local area network (LAN), an intranet, an extranet, or theInternet. The machine may operate in the capacity of a server or aclient machine in a client-server network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a web appliance, aserver, or any machine capable of executing a set of instructions(sequential or otherwise) that specify actions to be taken by thatmachine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructionsto perform any one or more of the methodologies discussed herein.

The exemplary computer system 300 includes a processing device 302, auser interface display 313, a main memory 304 (e.g., read-only memory(ROM), flash memory, dynamic random access memory (DRAM), a staticmemory 306 (e.g., flash memory, static random access memory (SRAM),etc.), and a data storage device 318, which communicate with each othervia a bus 330. Any of the signals provided over various buses describedherein may be time multiplexed with other signals and provided over oneor more common buses. Additionally, the interconnection between circuitcomponents or blocks may be shown as buses or as single signal lines.Each of the buses may alternatively be one or more single signal linesand each of the single signal lines may alternatively be buses.

Processing device 302 represents one or more general-purpose processingdevices such as a microprocessor, central processing unit, or the like.More particularly, the processing device may be complex instruction setcomputing (CISC) microprocessor, reduced instruction set computer (RISC)microprocessor, very long instruction word (VLIW) microprocessor, orprocessor implementing other instruction sets, or processorsimplementing a combination of instruction sets. Processing device 302may also be one or more special-purpose processing devices such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The processing device 302 is configured to executeprocessing logic 326 for performing the operations and blocks discussedherein.

User interface display 313 may be used to display a user interface asdescribed above and may also be used to display sensor data, exercisecharacteristics, suggested workout routines, and other information.

The data storage device 318 may include a machine-readable storagemedium 328, on which is stored one or more sets of instructions 322(e.g., software) embodying any one or more of the methodologies offunctions described herein, including instructions to cause theprocessing device 302 to execute the data generator 122 and the workoutdesigner 126, both of which may be included in a component referred toin FIG. 3 as a training application 332. The instructions 322 may alsoreside, completely or at least partially, within the main memory 304 orwithin the processing device 302 during execution thereof by thecomputer system 300; the main memory 304 and the processing device 302also constituting machine-readable storage media. The instructions 322may further be transmitted or received over a network 320 via thenetwork interface device 308.

The machine-readable storage medium 328 may also be used to storeinstructions to perform the techniques described herein. While themachine-readable storage medium 328 is shown in an exemplary embodimentto be a single medium, the term “machine-readable storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database, or associated caches and servers)that store the one or more sets of instructions. A machine-readablemedium includes any mechanism for storing information in a form (e.g.,software, processing application) readable by a machine (e.g., acomputer). The machine-readable medium may include, but is not limitedto, magnetic storage medium (e.g., floppy diskette); optical storagemedium (e.g., CD-ROM); magneto-optical storage medium; read-only memory(ROM); random-access memory (RAM); erasable programmable memory (e.g.,EPROM and EEPROM); flash memory; or another type of medium suitable forstoring electronic instructions.

FIG. 4 is an example of a cable machine that may be included in thesmart training system in accordance with some embodiments of the presentdisclosure. The cable machine 400 includes a cable 402 that isconfigured to be attached at one end to a handle 406 for engagement bythe user. The cable is attached at the other end to a resistance member,which is a weight stack 404 in the depicted embodiment. As used hereinthe term resistance member refers to any type of component that can beused to resist the motion of user during an exercise. Resistance membersmay include weights as well as tension-based resistance members such assprings. The cable 402 may not be continuous and may include two or morecable segments that are spliced together at suitable locations. Thecable machine 400 also includes a load cell 408 disposed in relationwith the cable 402 to sense the amount of pressure, force, or weightbeing applied to the cable 402. For example, the load cell 408 may bedisposed at fixed loading point such as a splice point between differentsegments of the cable as shown in FIG. 4.

The cable machine may also include a motion sensor 410 mounted to a partof the cable machine 400 that will be in motion during an exercise. Forexample, the motion sensor 410 may be coupled to the weight stack 404 oranother component that has a fixed positional relationship relative tothe weight stack 404. The motion sensor 410 may be any suitable type ofmotion sensor, including an accelerometer or gyroscope, for example.

FIG. 5 is an example of a barbell that may be included in the smarttraining system in accordance with some embodiments of the presentdisclosure. The barbell 500 includes a lifting handle portion 502 andtwo weight loaded portions 504 on which weight plates can be mounted.The barbell 500 also includes connectors 506 for connecting the liftinghandle portion 502 and the weight loaded portions 504. The barbell 500can also include one or more load cells 508 for measuring the weight ofthe weight loaded portions 504. The load cells 508 may be disposedanywhere that enables it to sense the load applied by the weight loadedportions 504 to the lifting handle portion 502. For example, the loadcell 508 may be a sensor such as a strain gauge disposed in theconnector 506 as shown in FIG. 5. Other configurations are alsopossible.

The barbell can also include one or more motion sensors 510 suchaccelerometers or gyroscopes. The motion sensors 510 may be disposed atany suitable location such as the connector 506.

FIG. 6 is an example of a dumbbell that may be included in the smarttraining system in accordance with some embodiments of the presentdisclosure. The dumbbell 600 includes a lifting handle portion 602 and aweight portion 604, which may be a fixed weight. The dumbbell 600 canalso include one or more motion sensors 606 such accelerometers orgyroscopes. In this example, the motion sensor 606 is a single motionsensor inserted or threaded into one end of the dumbbell. However, otherconfigurations are possible.

FIG. 7 is an example of a kettlebell that may be included in the smarttraining system in accordance with some embodiments of the presentdisclosure. The kettlebell 700 includes a lifting handle portion 702 anda weight portion 704, which may be a fixed weight. The kettlebell 700can also include one or more motion sensors 706 such accelerometers orgyroscopes. In this example, the motion sensor 706 is a single motionsensor inserted or threaded into the bottom of the kettlebell 700.However, other configurations are possible.

Each of the exercise devices described in relation to FIGS. 4-7 may beused in the smart training system 100 shown in FIG. 1. Accordingly, itwill be appreciated that any of the exercise devices 400, 500, 600, and700 can be one of the exercise devices 104 shown in FIG. 1.Additionally, each of the exercise devices will be capable of being usedin any of the processes described above, depending on the type ofsensors and the type of electronic circuitry included therein. Forexample, each of the exercise devices can include a data transmittingdevice such as WiFi or Bluetooth transmitter for transmitting sensordata and other data to the training application 332 (FIG. 3). Any one ofthe exercise devices may also include additional hardware such as aprocessing device and/or memory as described in relation to FIG. 1. Forexample, the kettlebell 700 and the dumbbell 600 may include anelectronic memory that stores a value indicating the fixed weight of thedevice, which enables it to transmit this information the trainingapplication 332. Additionally, it will be appreciated that the equipmentdepicted in FIGS. 4-7 are only examples, and that embodiments of thepresent disclosure may be implemented using any suitable piece offitness or training equipment.

The preceding description sets forth numerous specific details such asexamples of specific systems, components, methods, and so forth, inorder to provide a good understanding of several embodiments of thepresent disclosure. It will be apparent to one skilled in the art,however, that at least some embodiments of the present disclosure may bepracticed without these specific details. In other instances, well-knowncomponents or methods are not described in detail or are presented insimple block diagram format in order to avoid unnecessarily obscuringthe present disclosure. Thus, the specific details set forth are merelyexemplary. Particular embodiments may vary from these exemplary detailsand still be contemplated to be within the scope of the presentdisclosure.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiments included inat least one embodiment. Thus, the appearances of the phrase “in oneembodiment” or “in an embodiment” in various places throughout thisspecification are not necessarily all referring to the same embodiment.In addition, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.”

Additionally, some embodiments may be practiced in distributed computingenvironments where the machine-readable medium is stored on and orexecuted by more than one computer system. In addition, the informationtransferred between computer systems may either be pulled or pushedacross the communication medium connecting the computer systems.

Embodiments of the claimed subject matter include, but are not limitedto, various operations described herein. These operations may beperformed by hardware components, software, firmware, or a combinationthereof.

Although the operations of the methods herein are shown and described ina particular order, the order of the operations of each method may bealtered so that certain operations may be performed in an inverse orderor so that certain operation may be performed, at least in part,concurrently with other operations. In another embodiment, instructionsor sub-operations of distinct operations may be in an intermittent oralternating manner.

The above description of illustrated implementations of the invention,including what is described in the Abstract, is not intended to beexhaustive or to limit the invention to the precise forms disclosed.While specific implementations of, and examples for, the invention aredescribed herein for illustrative purposes, various equivalentmodifications are possible within the scope of the invention, as thoseskilled in the relevant art will recognize. The words “example” or“exemplary” are used herein to mean serving as an example, instance, orillustration. Any aspect or design described herein as “example” or“exemplary” is not necessarily to be construed as preferred oradvantageous over other aspects or designs. Rather, use of the words“example” or “exemplary” is intended to present concepts in a concretefashion. As used in this application, the term “or” is intended to meanan inclusive “or” rather than an exclusive “or”. That is, unlessspecified otherwise, or clear from context, “X includes A or B” isintended to mean any of the natural inclusive permutations. That is, ifX includes A; X includes B; or X includes both A and B, then “X includesA or B” is satisfied under any of the foregoing instances. In addition,the articles “a” and “an” as used in this application and the appendedclaims should generally be construed to mean “one or more” unlessspecified otherwise or clear from context to be directed to a singularform. Moreover, use of the term “an embodiment” or “one embodiment” or“an implementation” or “one implementation” throughout is not intendedto mean the same embodiment or implementation unless described as such.Furthermore, the terms “first,” “second,” “third,” “fourth,” etc. asused herein are meant as labels to distinguish among different elementsand may not necessarily have an ordinal meaning according to theirnumerical designation.

What is claimed is:
 1. A method, comprising: receiving sensor data froma sensor disposed in a weight lifting device; determining, by aprocessing device, one or more exercise characteristics based on thesensor data, wherein the one or more exercise characteristics comprisesa power exerted by a user of the weight lifting device; and displayingthe one or more exercise characteristics on a user interface display orrecording the one or more exercise characteristics to a storage device.2. The method of claim 1, wherein the sensor data comprises force datadescribing a force exerted by a user on the weight lifting device. 3.The method of claim 2, wherein the one or more exercise characteristicscomprises a weight of the weight lifting device, wherein the weight iscomputed based on the force exerted on the weight lifting device while amotion of the weight lifting device is below a threshold.
 4. The methodof claim 1, wherein the one or more exercise characteristics comprises apeak power corresponding to each repetition of a set of exercises. 5.The method of claim 1, wherein the one or more exercise characteristicscomprises a power curve describing power exerted over time.
 6. Themethod of claim 1, wherein the sensor data comprises motion datadescribing a motion of the weight lifting device, wherein the motiondata describes at least one of a speed of the motion, a direction of themotion, or path of the motion.
 7. The method of claim 6, furthercomprising receiving a weight value from the weight lifting device,wherein the power exerted by the user is computed based on the motiondata and the weight value.
 8. The method of claim 6, wherein the one ormore exercise characteristics comprises a number of repetitionsperformed, wherein each repetition is detected based on the motion data.9. The method of claim 1, wherein the weight lifting device is a freeweight and receiving sensor data from the weight lifting devicecomprises receiving the sensor data wirelessly.
 10. The method of claim1, wherein the processing device and the user interface display arecomponents of a smart phone.
 11. A non-transitory computer readablemedium having instructions encoded thereon that, when executed by aprocessing device, cause the processing device to: receive sensor datafrom one or more sensors disposed in a weight lifting device; anddetermine, by the processing device, one or more exercisecharacteristics based on the sensor data, wherein the one or moreexercise characteristics comprises a power exerted by a user of theweight lifting device; and cause at least one of the one or moreexercise characteristics to be displayed on a user interface display orstored to a storage device.
 12. The non-transitory computer readablemedium of claim 11, wherein the sensor data comprises force datadescribing a force exerted by a user on the weight lifting device. 13.The non-transitory computer readable medium of claim 12, wherein the oneor more exercise characteristics comprises a weight of the weightlifting device, wherein to determine the weight the processing device isto compute the weight based on the force exerted on the weight liftingdevice while a movement of the weight lifting device is below athreshold.
 14. The non-transitory computer readable medium of claim 11,wherein the one or more exercise characteristics comprises a peak powercorresponding to each repetition of a set of exercises.
 15. Thenon-transitory computer readable medium of claim 11, wherein the one ormore exercise characteristics comprises a power curve describing powerexerted over time.
 16. The non-transitory computer readable medium ofclaim 11, wherein the sensor data comprises motion data describing amotion of the weight lifting device, wherein the motion data describesat least one of a speed of the motion, a direction of the motion, or apath of the motion.
 17. The non-transitory computer readable medium ofclaim 16, further comprising instructions that cause the processingdevice to receive a weight value from the weight lifting device, whereinto determine the power exerted by the user, the processing device is tocompute the power based on the motion data and the weight value.
 18. Thenon-transitory computer readable medium of claim 16, wherein the one ormore exercise characteristics comprises a number of repetitionsperformed, wherein each repetition is detected based on the motion data.19. The non-transitory computer readable medium of claim 11, wherein theweight lifting device is a free weight and receiving sensor data fromthe weight lifting device comprises receiving the sensor datawirelessly.
 20. The non-transitory computer readable medium of claim 11,wherein the processing device and the user interface display arecomponents of a smart phone.